let a = 'null'
// console.log(typeof(a) === 'object' ? {
//   '[object Object]': 'Object',
//   '[object Array]': 'Array',
//   '[object Number]': 'Number',
//   '[object String]': 'String',
//   '[object Boolean]': 'Boolean'[({}).toString.call(a)] : 1


console.log([({}).toString.call(a)]);
console.log([({})].toString); //[ [Function: toString] ]


console.log(typeof(a) === 'string' ? {
  '[object Object]': 'Object',
  '[object Array]': 'Array',
  '[object Number]': 'Number',
  '[object String]': 'String',
  '[object Boolean]': 'Boolean',
}[({}).toString.call(a)] : 2);


var types = {
  '[object Object]': 'Object',
  '[object Array]': 'Array',
  '[object Number]': 'Number',
  '[object String]': 'String',
  '[object Boolean]': 'Boolean'
};
console.log('aa'+types[ '[object String]' ]);

console.log(Object(a));